
<html>

  <title> Jace Developer's Guide - Introducing Jace </title>

  <body>
    <font face="Verdana" size="-1">

    <table width="100%">
      <tr>
        <td bgcolor="#EEEEEE" align="right">
          <font size="+2">
            <b>Chapter 2</b>
          </font>
        </td>
      </tr>
      <tr>
        <td align="right"> 
          <font size="+2">
            <b>Introducing Jace</b>
          </font>
        </td>
      </tr>
    </table>

    <br><br>


    <table bgcolor="#EEEEEE" width="100%"> <tr> <td> In 60 Seconds or Less </td> </tr> </table>

    <p>
    Jace is a C++ runtime library consisting of a single shared library named "jace" <sup><a href="#foot1">1</a></sup> and a set of Proxy and Peer code-generation tools: ProxyGenerator, BatchGenerator, AutoProxy, PeerEnhancer, and PeerGenerator. In addition to providing some useful utility functions for developers, The Jace Runtime Library (JRL) uses JNI to provide the basic services that the tool-generated Proxies and Peers require to run correctly. The generated Proxy classes allow developers to instantiate and manipulate live Java objects at runtime, just as if they were native C++ classes.  The generated Peer classes provide an easy method for developers to implement native methods declared in their Java classes. The following diagram is a high-level overview of the relationships between a developer, the code-generating tools, and the JRL.
    </p>

    <img src="interaction.gif">

    <br><br>

    <table width="100%">
      <tr>
        <td align="right">
          <a href="guide1.html">Previous</a>
          <a href="guide3.html">Next</a>
        </td>
      </tr>
    </table>

    <br><br>

    <font size="-2">
      <a name="foot1">1)</a> For example, "jace.lib" on Windows or "libjace.so" on Unix. <br><br>
    </font>

  <br><br>
  <br><br>
  <br><br>
  <br><br>
  <br><br>
  <br><br>
  <br><br>
  <br><br>

    </font>

  </body>
</html>

